Faster Run-time Specialized Code using Data Specialization
نویسندگان
چکیده
Run-time specialization is a technique that optimizes a program based on run-time information. In this context, specialization time must be constrained, limiting the possibility to further optimize the specialized code. We present a low-cost methodology for improving the code generated by a run-time specializer. This result is acheived by combining run-time specialization with another form of automatic specialization, data specialization. We show how to use our approach to implement compaction of run-time specialized code in the framework of the Tempo specializer for C programs. We nd that the compaction optimization can improve the performance of the specialized code by up to a factor of 4, while adding only about 10% to the cost of run-time specialization on most of our examples. Key-words: run-time code specialization, data specialization, program staging
منابع مشابه
Run-time Bytecode Specialization A Portable Approach to Generating Optimized Specialized Code⋆
This paper proposes a run-time bytecode specialization (BCS) technique that analyzes programs and generates specialized programs at run-time in an intermediate language. By using an intermediate language for code generation, a back-end system can optimize the specialized programs after specialization. As the intermediate language, the system uses Java virtual machine language (JVML), which allo...
متن کاملOptimization by Run-time Specialization for Sparse Matrix-Vector Multiplication (Submitted for publication)
Run-time specialization is the process of generating programs based on information available only at run time. This technique has the potential of generating highly efficient codes, at the expense of the overheads of the run-time code generation. It is applicable when some input data is used repeatedly while other input data varies. In this paper we explore the potential for obtaining speedups ...
متن کاملRun-Time Program Specialization in Java Bytecode
Run-time specialization (RTS) is a technique that efficiently generates specialized programs with respect to runtime values. For efficiently generating specialized programs, RTS constructs compiled native code fragments called templates at compile-time, and generates a specialized program by merely copying the templates. The generated programs are, on the other hand, less efficient, since the t...
متن کاملGenerating Optimized Residual Code in Run-Time Specialization
Run-time specialization (RTS) techniques efficiently generate specialized programs with respect to run-time values. They construct compiled native-code fragments called templates at compile-time, and generate a specialized program by merely copying the templates. The generated programs are less efficient than those generated by static partial evaluation techniques because the RTS techniques pre...
متن کاملOptimization of Sparse Matrix-Vector Multiplication by Specialization
Program specialization is the process of generating optimized programs based on available inputs. It is particularly applicable when some input data are used repeatedly while other input data vary. Specialization can be employed at compile-time as well as at run-time, depending on when the inputs become available. In this paper we explore the potential for obtaining speed-ups for sparse matrix-...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1999